#ifndef __SHOP_PLAYER_EVENT_H__
#define __SHOP_PLAYER_EVENT_H__

#include "Expand/Events.h"

using namespace PocketSurvival;

namespace Economy
{
    class EconomyShop;

    class ShopPlayerEvent : public IPlayerEvent, public ISignEvent
    {
    private:
        EconomyShop *m_economyShop;

    public:
        ShopPlayerEvent(EconomyShop * economyShop);
        virtual bool playerPlaceBlock(ComponentPlayer *componentPlayer, const Point3 &point, int32_t placeBlockValue) override;
        virtual bool playerBreakBlock(ComponentPlayer *componentPlayer, const Point3 &point, int32_t digBlockValue, int32_t toolLevel) override;

        virtual bool playerTouchSign(std::shared_ptr<PlayerData> playerData, const Point3 &point) override;
        virtual bool playerEditSign(std::shared_ptr<PlayerData> playerData, SignTextData &signTextData) override;
    };

    inline ShopPlayerEvent::ShopPlayerEvent(EconomyShop *shop) : m_economyShop(shop) {}

} // namespace BedWars

#endif
